package com.example.demoyyy.ShiTiYYY;

import java.io.Serializable;
import java.time.LocalDateTime;
// 导入时间日期模块
import lombok.Data;
// 导入类属性的注解方法
import  java.io.Serializable;
// 导入java的序列化模块
import com.baomidou.mybatisplus.annotation.TableField;
// 导入对数据表列TableField的操作
import com.baomidou.mybatisplus.annotation.FieldFill;
// 导入对数据表列的填充动作 FieldFill
@Data
public class Employee implements Serializable {
    // 1.员工类的属性对应数据表中的列名，设置数据类型，设置保护属性protected 私有属性 private 公共属性public
    // 2.给这些属性，定于方法， set get方法，对应数据库的增删改查
    // 3.给员工类添加注解@Data , 省略手写的步骤，但是每个属性仍然具备set get方法
    // 4.因为网络传输的数据是json,而员工类实例化出来的是对象，这两种格式需要转换，对象转json,json转对象，这种转换称为序列化和反序列化
    //  给员工类设置成能够序列与反序列化的类，添加语法 implements 使...生效  Serializable序列
    // '{username:"nana",password:"123456"}' ====>>>>>  emp.username = "nana"  emp.password="123456" ====>>>>  mysql表
    private Long id; // bigint
    private String  name; // varchar
    private String password;
    private String username;
    private String phone;
    private String sex;
    private String  id_number;
    private  Integer status;  // int
    @TableField(fill=FieldFill.INSERT) // 自动填充策略,只有第一次插入的时候,填充
    private  LocalDateTime  createTime;// datetime
    @TableField(fill=FieldFill.INSERT_UPDATE) // 自动填充策略,第一次插入或者有修改的时候就填充
    private  LocalDateTime updateTime;
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;//省略了撰写SQL的步骤 insert into 表名  values
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateUser;//省略了撰写SQL的步骤  update 表名
}